home *** CD-ROM | disk | FTP | other *** search
- Path: comma.rhein.de!serpens!not-for-mail
- From: mlelstv@serpens.rhein.de (Michael van Elst)
- Newsgroups: comp.sys.amiga.misc
- Subject: Re: OS features
- Date: 7 Jan 1996 18:47:03 +0100
- Organization: dis-
- Message-ID: <4cp0un$cve@serpens.rhein.de>
- References: <92747544038@PAPA.NORTH.DE> <4b3h9s$1st@alterdial.UU.NET> <2152.6561T63T2136@cycor.ca> <4b7i18$si1@vixen.cso.uiuc.edu> <oj6raxxrr0o.fsf@hpsrk.fc.hp.com> <13213431@sourcery.han.de>
- NNTP-Posting-Host: serpens.rhein.de
-
- "Olaf Barthel" <olsen@sourcery.han.de> writes:
-
- >problem to solve: how to implement shared memory accesses and interprocess
- >communication without running into the same trouble the original Amiga
- >shared memory space causes?
-
- Protection is usually an asymmetric task. A (user)task must not corrupt data
- structures used by other (user)tasks but a system library that manages
- shared objects may corrupt data structures in (user)tasks. Reason is
- that a shared library can be debugged more easily.
-
- For interprocess communication one has to provide a new protected method.
- Messages of non-trusted tasks may have to checked for consistency.
- Again, for most applications we have one "server" that is shared among
- several clients. The server can be made for error proof and thus is
- allowed to corrupt client data. But the client must not corrupt server
- data or the data of other clients.
-
- Anyway, before you can think about memory protection you have to solve
- resource tracking. There are some difficulties involved, mainly in
- arbitration of shared objects (or rather the lack of arbitration).
-
- > That's an idea. I have seen similar under BeOS which can put contiguous
- >memory regions together from fragments.
-
- With virtual memory the fragmentation exists in the virtual address
- space. The effect of this fragmentation is small because the virtual
- address space is much larger and because virtual addresses are allocated
- with a rather coarse granularity. Fragmentation smaller than the page
- size just affects one task and is effectively removed when the task
- ends.
- Separated address spaces for each process are even better because
- the total address space now grows with the number of processes. But
- this approach costs a lot in compatibility. It might be possible
- to use partially separated adress spaces though in new programs.
-
- Regards,
- --
- Michael van Elst
-
- Internet: mlelstv@serpens.rhein.de
- "A potential Snark may lurk in every tree."
-